const mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1:27017/zhang",{
	serverSelectionTimeoutMS:10000
}).then(value=>{
	console.log("1-连接成功");
	// 1- 配置集合的约束（指定集合中的文档中的属性类型，默认值，是否允许重复，是否为必填项）
	const schema = new mongoose.Schema({
		// 文档中需要有userName属性
		userName:{
			// 类型是字符串
			type:String,
			// 不允许重复
			unique:true,
			// 不允许省略
			required:true
		},
		age:{
			type:Number,
			default:100
		},
		context:{
			// 类型是个数组且元素的类型为数字
			type:[Number]
		},
		qita:{
			// 不限制类型
			type:mongoose.Schema.Types.Mixed
		}
	},{
		versionKey:false
	});
	// 2- 创建model
	// 第一个参数是集合的名字，第二个参数是schema(约束）,第三个参数为最终的集合名字（如果省略该参数会将集合全部小写并以s结尾）
	const model = mongoose.model("userList",schema,"userList");
	// 修改1- 修改一条记录
	// model.updateOne({age:12},{userName:"wangwu"}).then(value=>{
	// 	console.log(value);
	// })
	// 修改2- 修改多条记录
	// model.updateMany({age:12},{qita:18}).then(value=>{
	// 	console.log(value);
	// })
	
	// model.findOneAndUpdate({userName:"zhaoliu"},{age:1000}).then(value=>{
	// 	console.log(value)
	// })
	
	// model.findByIdAndUpdate("65669b0054676fd89aaee0ed",{age:98}).then(value=>{
	// 	console.log(value)
	// })
	
}).catch(err=>{
	console.log("连接失败",err)
})